Imports System.Data
Imports System.Collections.Generic
Namespace SiteMap
    Public Class clSiteMap
        Inherits bitworksComunesV3.Datos.clTablaGenerica

#Region "Variables"
        Protected _codigo As Integer
        Dim _padre As Integer
        Dim _seccion As Integer
        Dim _fechaIngreso As DateTime
        Dim _fechaInicioPub As DateTime
        Dim _fechaFinPub As DateTime
        Dim _titulo As String
        Dim _tituloPagina As String
        Dim _Descripcion As String
        Dim _metaKeyWords As String
        Dim _metaDescription As String
        Dim _Url As String
        Dim _urlAmigable As String
        Dim _contenidoEstatico As Integer
        Shared paginacion As bitworksComunesV3.Datos.clPaginacion
#End Region


#Region "Propiedades"
        <bitworksComunesV3.Datos.definicionBase("codigo", bitworksComunesV3.Datos.enTipoCampoBase.parteLlavePrimaria, "_codigo")> _
        Public Property codigo() As Integer
            Get
                Return _codigo
            End Get
            Set(ByVal value As Integer)
                _codigo = value
            End Set
        End Property

        <bitworksComunesV3.Datos.definicionBase("padre", bitworksComunesV3.Datos.enTipoCampoBase.camposNormal, "_padre")> _
        Public Property Padre() As Integer
            Get
                Return _padre
            End Get
            Set(ByVal Value As Integer)
                _padre = Value
                _modificado = True
            End Set
        End Property

        <bitworksComunesV3.Datos.definicionBase("seccion", bitworksComunesV3.Datos.enTipoCampoBase.camposNormal)> _
        Public Property Seccion() As Integer
            Get
                Return _seccion
            End Get
            Set(ByVal Value As Integer)
                _seccion = Value
                _modificado = True
            End Set
        End Property

        <bitworksComunesV3.Datos.definicionBase("fechaIngreso", bitworksComunesV3.Datos.enTipoCampoBase.camposNormal, "_fechaIngreso")> _
        Public ReadOnly Property FechaIngreso() As DateTime
            Get
                Return _fechaIngreso
            End Get
        End Property

        <bitworksComunesV3.Datos.definicionBase("fechaInicioPub", bitworksComunesV3.Datos.enTipoCampoBase.camposNormal, "_fechaInicioPub")> _
        Public Property FechaInicioPub() As DateTime
            Get
                Return _fechaInicioPub
            End Get
            Set(ByVal Value As DateTime)
                _fechaInicioPub = Value
                _modificado = True
            End Set
        End Property

        <bitworksComunesV3.Datos.definicionBase("fechaFinPub", bitworksComunesV3.Datos.enTipoCampoBase.camposNormal, "_fechaFinPub")> _
        Public Property FechaFinPub() As DateTime
            Get
                Return _fechaFinPub
            End Get
            Set(ByVal Value As DateTime)
                _fechaFinPub = Value
                _modificado = True
            End Set
        End Property

        <bitworksComunesV3.Datos.definicionBase("titulo", bitworksComunesV3.Datos.enTipoCampoBase.camposNormal)> _
        Public Property Titulo() As String
            Get
                Return _titulo
            End Get
            Set(ByVal Value As String)
                _titulo = Value
                _modificado = True
            End Set
        End Property

        <bitworksComunesV3.Datos.definicionBase("tituloPagina", bitworksComunesV3.Datos.enTipoCampoBase.camposNormal)> _
        Public Property TituloPagina() As String
            Get
                Return _tituloPagina
            End Get
            Set(ByVal Value As String)
                _tituloPagina = Value
                _modificado = True
            End Set
        End Property

        <bitworksComunesV3.Datos.definicionBase("Descripcion", bitworksComunesV3.Datos.enTipoCampoBase.camposNormal)> _
        Public Property Descripcion() As String
            Get
                Return _Descripcion
            End Get
            Set(ByVal Value As String)
                _Descripcion = Value
                _modificado = True
            End Set
        End Property

        <bitworksComunesV3.Datos.definicionBase("metaKeyWords", bitworksComunesV3.Datos.enTipoCampoBase.camposNormal)> _
        Public Property MetaKeyWords() As String
            Get
                Return _metaKeyWords
            End Get
            Set(ByVal Value As String)
                _metaKeyWords = Value
                _modificado = True
            End Set
        End Property

        <bitworksComunesV3.Datos.definicionBase("metaDescription", bitworksComunesV3.Datos.enTipoCampoBase.camposNormal)> _
        Public Property MetaDescription() As String
            Get
                Return _metaDescription
            End Get
            Set(ByVal Value As String)
                _metaDescription = Value
                _modificado = True
            End Set
        End Property

        <bitworksComunesV3.Datos.definicionBase("Url", bitworksComunesV3.Datos.enTipoCampoBase.camposNormal)> _
        Public Property Url() As String
            Get
                Return _Url
            End Get
            Set(ByVal Value As String)
                _Url = Value
                _modificado = True
            End Set
        End Property

        <bitworksComunesV3.Datos.definicionBase("urlAmigable", bitworksComunesV3.Datos.enTipoCampoBase.camposNormal)> _
        Public Property UrlAmigable() As String
            Get
                Return _urlAmigable
            End Get
            Set(ByVal Value As String)
                _urlAmigable = Value
                _modificado = True
            End Set
        End Property

        <bitworksComunesV3.Datos.definicionBase("contenidoEstatico", bitworksComunesV3.Datos.enTipoCampoBase.camposNormal)> _
      Public Property contenidoEstatico() As Integer
            Get
                Return _contenidoEstatico
            End Get
            Set(ByVal Value As Integer)
                _contenidoEstatico = Value
                _modificado = True
            End Set
        End Property

#End Region

#Region "Constructores"
        Public Sub New(ByVal codigo As Integer, Optional ByVal cnn As Data.IDbConnection = Nothing, Optional ByVal hereda As Boolean = False)
            MyBase.New("siteMap", GetType(clSiteMap))
            _codigo = codigo
            If hereda = False Then cargarDatosInterno(Me)
        End Sub

        Public Sub New()
            MyBase.New("siteMap", GetType(clSiteMap))
        End Sub
#End Region

#Region "Datos"
        Public Overridable Sub guardarDatos()
            MyBase.guardarDatosInterno(Me)
        End Sub

        Public Overridable Sub borrar()
            borrarInterno(Me)
        End Sub

#End Region

#Region "Select/Paginacion"
        'Public Shared Function getListaPaginada(ByVal [parametros], ByVal sortExpression As String, ByVal startRowIndex As Integer, ByVal maximumRows As Integer) As List(Of clsiteMap)
        '    Dim pag As bitworksComunesV3.Datos.clPaginacion = getObjPaginado(parametros, sortExpression) 'SUSTITUIR ESTE PARAMETRO POR EL(O LOS) QUE SE DESEA UTILIZARLO (LOS QUE SE PUESIERON EN EL WHERE DE getObjPaginado), IGUAL EN LA DECLARACION DE LA FUNCION
        '    Dim aux As New List(Of clsiteMap)
        '    Dim dt As Data.DataTable = pag.getDataTablePaginado(startRowIndex + 1, maximumRows)
        '    Dim dr As Data.DataRow
        '    For Each dr In dt.Rows
        '        aux.Add(New clsiteMap(dr.Item(0)))
        '    Next
        '    Return aux
        'End Function

        'Public Shared Function getLista(ByVal [parametros], ByVal sortExpression As String) As List(Of clsiteMap)
        '    Dim cmd As SqlClient.SqlCommand = getCommand(parametros, sortExpression)
        '    cmd.Connection = bitworksComunesV3.Datos.clCapaDatos.Conexion
        '    Dim da As New SqlClient.SqlDataAdapter(cmd)
        '    Dim dt As New Data.DataTable
        '    da.Fill(dt)
        '    Dim aux As New List(Of clsiteMap)
        '    Dim dr As Data.DataRow
        '    For Each dr In dt.Rows
        '        aux.Add(New clsiteMap(dr.Item(0)))
        '    Next
        '    Return aux
        'End Function

        'Public Shared Function getCuenta(ByVal [parametros], ByVal sortExpression As String) As Integer
        '    'USAR LOS MISMOS PARAMETROS QUE LA FUNCION getListaPaginada
        '    Dim pag As bitworksComunesV3.Datos.clPaginacion = getObjPaginado(parametros, sortExpression)
        '    Return pag.getTotalRegistros()
        'End Function

        'Private Shared Function getObjPaginado(ByVal [parametrosQueVanEnElWhere], ByVal sortExpression As String) As bitworksComunesV3.Datos.clPaginacion
        '    Dim cmd As SqlClient.SqlCommand = getCommand(parametrosQueVanEnElWhere, sortExpression)
        '    paginacion = New bitworksComunesV3.Datos.clPaginacion(cmd)
        '    Return paginacion
        'End Function

        'Private Shared Function getCommand(ByVal [parametros], ByVal sortExpression As String) As SqlClient.SqlCommand
        '    If parametros Is Nothing Then parametros = "" 'Sustitiur esto con sus parametros
        '    Dim cmd As New SqlClient.SqlCommand()
        '    If sortExpression Is Nothing OrElse sortExpression = "" Then
        '        cmd.CommandText = "select codigo from siteMap where (AQUI VA SU WHERE) ORDER BY codigo"
        '    Else
        '        cmd.CommandText = "select codigo from siteMap where (AQUI VA SU WHERE) ORDER BY " & sortExpression
        '    End If
        '    cmd.Parameters.Add("@parametrosQueVanEnElWhere", SqlDbType.VarChar).Value = parametrosQueVanEnElWhere
        '    Return cmd
        'End Function

        'Public Shared Sub resetPaginacion()
        '    paginacion = Nothing
        'End Sub

#End Region

    End Class
End Namespace


